var name ='haijian';//window.name
let xc = {
    name:'xiongchen',

}
    let xz ={
        name:'fu',
        getName: function(){
            console.log(this.name);
        }
    }
    // this 是关键字 函数被运行时，动态创建出来
    // xz.getName() 被运行时，运行方式是对象的方法被调用
    //this 会指向对象
    //函数作为事件响应函数的形式被调用，this指向事件对象
    xz.getName();//this 被动态决定的
    const fn = xz.getName;
    // fn 代码体 getName一样样 但运行方式不一样
    // fn 普通 函数 值
    // fn 普通函数运行时，this 指向全局
   
    const fn2 = fn.bind(xc);
    // this 可以被手动指定
    console.log(fn2);
    fn2();
    console.log(this.name);// this 丢失了
    fn();